package com.atguigu.tingshu.dto;

import com.atguigu.tingshu.vo.album.AlbumAttributeValueVo;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
public class AlbumSaveOrUpdateDTO {
    /**
     * 专辑名称
     */
    @NotEmpty(message = "专辑名称不能为空")
    private String albumTitle;

    /**
     * 专辑三级分类id
     */
    @NotNull(message = "专辑三级分类id不能为空")
    private Long category3Id;

    /**
     * 专辑简介
     */
    private String albumIntro;

    /**
     * 专辑封面
     */
    @NotEmpty(message = "专辑封面不能为空")
    private String coverUrl;

    /**
     * 预计更新多少集
     */
    private Integer estimatedTrackCount;

    /**
     * 专辑介绍（富文本）
     */
    private String albumRichIntro;

    /**
     * 付费类型: 0101-免费、0102-vip免费、0103-付费
     */
    private String payType;

    /**
     * 价格类型： 0201-单集 0202-整专辑
     */
    private String priceType;

    /**
     * 原价
     */
    private BigDecimal price;

    /**
     * 折扣 0.1-9.9  不打折 -1
     */
    private BigDecimal discount;

    /**
     * vip折扣 0.1-9.9  不打折 -1
     */
    private BigDecimal vipDiscount;

    /**
     * 免费试听集数
     */
    private Integer tracksForFree;

    /**
     * 购买须知
     */
    private String buyNotes;

    /**
     * 专辑卖点，富文本
     */
    private String sellingPoint;

    /**
     * 是否公开：0-否 1-是
     */
    private String isOpen;

    /**
     * 属性值集合
     */
    private List<AlbumAttributeValueVo> albumAttributeValueVoList;

    /**
     * 付费类型和价格类型  payType_priceType
     */
    private String payTypeAndPriceType;

    /**
     * 付费类型和价格  payType_price
     */
    private String payTypeAndPrice;
}
